# -*- coding = utf-8 -*-
# @Time : 2021/10/19 23:50
# @Author : JingTian
# @file : TestBs4.py
# @software : PyCharm
import re

from bs4 import BeautifulSoup

file = open("./TaoChe.html", "rb")
html = file.read().decode("utf-8")
bs = BeautifulSoup(html, "html.parser")   # 解析器

# print(bs.title)
# print(bs.a)
# print(bs.head)

# print(type(bs.head))
# 1.Tag 标签及其内容；只拿第一个。
# print(bs.title.string)
# print(bs.a.attrs)

# print(type(bs))       表示整个文档

# print(bs)

# print(bs.a.string)
# print(type(bs.a.string))

# ------------------------------


# 文档的遍历

# print(bs.head.contents)
# print(bs.head.contents[1])
# 更多内容，搜索文档

# for child in bs.head.children:
# print(child)

# 文档的搜索
# 字符串过滤：会查找与字符串完全匹配的内容
# t_list = bs.find_all("i")

# 正则表达式搜索：使用search()方法来匹配内容
# t_list = bs.find_all(re.compile("i"))

# 方法：传入一个函数(方法)，根据函数的要求来搜索(了解）
# def name_is_exists(tag):
#     return tag.has_attr("name")

# t_list = bs.find_all(name_is_exists)

# print(t_list)

# kwargs 参数
# t_list = bs.find_all(id="container_base")

# t_list = bs.find_all(class_=True)
# t_list = bs.find_all(href="https://www.taoche.com/buycar/b-dealer_huiyuan246642722t.html?source=2808")

# for item in t_list:
#     print(item)

# text 参数
# t_list = bs.find_all(text = ["div"])

# 应用正则表达式来查找包含特定文本的内容（标签里的字符串）***
t_list = bs.find_all(text = re.compile("\d"))

for item in t_list:
    print(item)

# limit 参数

# t_list = bs.find_all("i",limit = 5)

# for item in t_list:
#     print(item)

# css 选择器

# 通过标签来查找
# t_list = bs.select('i')

# 通过类名来查找
# t_list = bs.select("p")

# 通过id来查找
# t_list = bs.select('#container_base')

# 通过属性来查找
# t_list = bs.select("a[class=title]")

# 通过子标签来查找
# t_list = bs.select("a > span")

# 通过兄弟标签来查找(该代码不完善）
# t_list = bs.select("a ~ span")

# print(t_list[0].get_text())

# for item in t_list:
#     print(item)




















